package com.zl.tby.service;

import com.zl.tby.core.base.bean.TbyPageResult;
import com.zl.tby.core.common.R;
import com.zl.tby.dto.TbyCommandCenterQuery;
import com.zl.tby.dto.TbySmartBoxCenterQuery;
import com.zl.tby.model.TbyCommandCenter;
import com.zl.tby.model.TbySmartBoxCenter;

import java.util.List;

/**
 * 指挥中心和智能箱之间的关系 service
 * @author changpeng
 * @version 1.0
 * @since 2024/8/6 19:56
 */
public interface ITbySmartBoxCenterService {

    /**
     * 修改
     * @param id: 主键id
     * @param centerId: 指挥中心id
     * @return 修改结果
     */
    R<TbySmartBoxCenter> updateCenterId(Long id, Long centerId, String name, String ip, String longitude, String latitude);

    /**
     * 根据id获取对象
     * @param id: 主键id
     * @return 实体对象
     */
    TbySmartBoxCenter get(Long id);

    /**
     * 分页查询
     * @param query: 查询参数
     * @return 结果
     */
    TbyPageResult<TbySmartBoxCenter> page(TbySmartBoxCenterQuery query);

    /**
     * 列表查询
     * @param query: 查询参数
     * @return 结果
     */
    List<TbySmartBoxCenter> list(TbySmartBoxCenterQuery query);

    /**
     * 智能箱列表
     * @param query: 查询条件
     * @return 结果
     */
    TbyPageResult<TbySmartBoxCenter> boxPage(TbyCommandCenterQuery query);

    /**
     * 保存
     */
    R<Void> saveBox(TbySmartBoxCenter form);
}
